+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Microsoft.Xna.Framework;
-
-namespace SuperPolarity
-{
- class BasicGenerator
- {
- public enum Ships : byte { Ship, Scout, Battlecruiser };
-
- protected Ships ShipType;
- protected SuperPolarity Game;
- protected int ScoreThreshold;
- protected int Rate;
- protected int CurrentTime;
- protected Random Randomizer;
- protected Vector2 Position;
-
- public void Initialize(SuperPolarity game, Vector2 position, Ships shipType, int rate, int scoreThreshold)
- {
- Game = game;
- ShipType = shipType;
- ScoreThreshold = scoreThreshold;
- Rate = rate;
- Randomizer = new Random();
- Position = position;
- }
-
- public void Update(GameTime gameTime)
- {
- if (Game.Player.Score > ScoreThreshold)
- {
- CurrentTime = CurrentTime + gameTime.ElapsedGameTime.Milliseconds;
-
- if (CurrentTime >= Rate)
- {
- CurrentTime = 0;
- Spawn();
- }
- }
- }
-
- protected void Spawn()
- {
- var polarity = Ship.Polarity.Positive;
-
- if (Randomizer.Next(2) == 1)
- {
- polarity = Ship.Polarity.Negative;
- }
-
- if (ShipType == Ships.Ship)
- {
- ActorFactory.CreateShip(polarity, Position);
- }
-
- if (ShipType == Ships.Scout)
- {
- ActorFactory.CreateScout(polarity, Position);
- }
-
- if (ShipType == Ships.Battlecruiser)
- {
- ActorFactory.CreateCruiser(polarity, Position);
- }
-
- }
- }
-}